package com.dragon.backstage.domain.param.login;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户登陆请求参数
 *
 * @author dragon
 * @version 1.0
 * @date 2024/8/1 17:54
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(title = "用户登陆请求参数")
public class LoginParam {

    /**
     * 账号
     */
    @NotBlank(message = "账号不能为空")
    @Schema(title = "账号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String account;

    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空")
    @Schema(title = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String password;

    /**
     * 验证码
     */
    @NotBlank(message = "验证码不能为空")
    @Schema(title = "验证码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String captchaCode;

    @NotBlank(message = "登陆设备不能为空")
    @Schema(title = "登陆设备", requiredMode = Schema.RequiredMode.REQUIRED)
    private String loginDevice = "Web";

}
